package org.exapmle.spring.factory;

import org.exapmle.spring.pojo.User;
import org.springframework.beans.factory.FactoryBean;

/**
 * FactoryBean是一个接口，需要创建一个类实现该接口其中有三个方法:
 * getobject():通过一个对象交给IoC容器管理getobjectType():设置所提供对象的类型issingleton():所提供的对象是否单例
 * 当把FactoryBean的实现类配置为bean时，会将当前类中getobject()所返回的对象交给IoC容器管理
 */
public class UserFactoryBean implements FactoryBean<User> {
    @Override
    public User getObject() throws Exception {
        return new User();
    }

    @Override
    public Class<?> getObjectType() {
        return User.class;
    }

    @Override
    public boolean isSingleton() {
        return FactoryBean.super.isSingleton();
    }
}
